# -*- coding: UTF-8 -*-
# 读取config文件信息，import本文件即可 2020.7.16

import configparser
import os

# 当前文件夹路径
CURRENT_PATH = os.path.join(os.getcwd(), "config")


def getConfig(configFile, section, key):
    """
    读取config文件夹下的config配置信息
    :param configFile: config配置文件的名称
    :param section: config的section，即[xxx]中的xxx
    :param key: 键，需要提取信息的键
    :return: 返回对应section下，对应key的信息
    """
    configFile = os.path.join(CURRENT_PATH, configFile)
    if not os.path.exists(configFile):
        # 文件不存在抛出异常
        ex = Exception("{}文件不存在".format(configFile))
        raise ex
    config = configparser.ConfigParser()
    config.read(configFile, encoding="utf-8")
    return config.get(section, key)


def getConfigInt(configFile, section, key):
    """
    读取config文件夹下的config配置信息,返回Int型
    :param configFile: config配置文件的名称
    :param section: config的section，即[xxx]中的xxx
    :param key: 键，需要提取信息的键
    :return: 返回对应section下，对应key的信息
    """
    configFile = os.path.join(CURRENT_PATH, configFile)
    if not os.path.exists(configFile):
        # 文件不存在抛出异常
        ex = Exception("{}文件不存在".format(configFile))
        raise ex
    config = configparser.ConfigParser()
    config.read(configFile, encoding="utf-8")
    return config.getint(section, key)


def getConfigFloat(configFile, section, key):
    """
    读取config文件夹下的config配置信息,返回Int型
    :param configFile: config配置文件的名称
    :param section: config的section，即[xxx]中的xxx
    :param key: 键，需要提取信息的键
    :return: 返回对应section下，对应key的信息
    """
    configFile = os.path.join(CURRENT_PATH, configFile)
    if not os.path.exists(configFile):
        # 文件不存在抛出异常
        ex = Exception("{}文件不存在".format(configFile))
        raise ex
    config = configparser.ConfigParser()
    config.read(configFile, encoding="utf-8")
    return config.getfloat(section, key)


def getConfigBool(configFile, section, key):
    """
    读取config文件夹下的config配置信息,返回Bool型
    :param configFile: config配置文件的名称
    :param section: config的section，即[xxx]中的xxx
    :param key: 键，需要提取信息的键
    :return: 返回对应section下，对应key的信息
    """
    configFile = os.path.join(CURRENT_PATH, configFile)
    if not os.path.exists(configFile):
        # 文件不存在抛出异常
        ex = Exception("{}文件不存在".format(configFile))
        raise ex
    config = configparser.ConfigParser()
    config.read(configFile, encoding="utf-8")
    return config.getboolean(section, key)

